package net.dgg.rz.production.dao;

import net.dgg.rz.production.entity.ProductNode;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * @author:cuipeng
 * @ClassName <ProductNodeDao>
 * @create 2018/12/14
 **/
@Repository
public interface ProductNodeDao {
    void save(ProductNode productNode);

    void update(ProductNode productNode);

    void updateNodeSort(ProductNode productNode);

    List<ProductNode> query(Map map);

    List<ProductNode> queryNodeCenter(Map map);

    ProductNode queryNodeJd(Map map);

    ProductNode queryNodeQzWj(Map map);

    ProductNode queryNodeFk(Map map);

    ProductNode queryNodeWj(Map map);

    List<ProductNode> queryByFlowId(Map map);

    List<ProductNode> queryByFlowIdAndVersion(Map map);

    List<ProductNode> queryByFlowProcessIds(Map map);

    void delNodeListByIds(Map map);

    List<Map> queryNodeListByProductOrderId(Map map);

    List<Map> queryNodeListByProductOrderIdOld(Map map);

    /**
     * 查询当前节点的下一个节点信息
     *
     * @return
     */
    ProductNode queryNextNode(Map map);
    /**
     * 查询当前节点之前是否有关节节点没有更新
     *
     * @return
     */
    List<ProductNode> countIsKey(Map map);

    List<ProductNode> queryNodeByChannelIdAndGoodsId(Map map);

    /**
     * 按照节点名字分组查询所有节点信息
     * @return
     */
    List<ProductNode> queryAllNodes();

    int updateNodeFlag(ProductNode productNode);

}